package cn.com.infosec.ra.service.entusercert;

import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import cn.com.infosec.ra.dao.entusercertdao.EntUserCertDao;
import cn.com.infosec.ra.entity.EntUserCertEntity;
import cn.com.infosec.ra.entity.PerUserCertEntity;
import cn.com.infosec.ra.util.Pagination;
import cn.com.infosec.ra.util.Util;

@Service
public class EntUserCertServiceImpl implements EntUserCertService {

	@Resource
	private EntUserCertDao entUserCertDao;

	@Override
	public void addEntUserCert(EntUserCertEntity entUserCertEntity) {
		entUserCertDao.addEntUserCert(entUserCertEntity);
	}
	
	@Override
	public void addEntUserCertOracle(EntUserCertEntity entUserCertCommand) {
		entUserCertDao.addEntUserCertOracle(entUserCertCommand);
	}

	public EntUserCertDao getEntUserCertDao() {
		return entUserCertDao;
	}

	public void setEntUserCertDao(EntUserCertDao entUserCertDao) {
		this.entUserCertDao = entUserCertDao;
	}
	
	@Override
	public EntUserCertEntity findUserCertByEnterprisenum(
			String businessenterprisenum1) {
		return entUserCertDao
				.findUserCertByEnterprisenum(businessenterprisenum1);
	}

	@Override
	public EntUserCertEntity findEntUserCertByCertDN(String certdn) {
		return entUserCertDao.findEntUserCertByCertDN(certdn);
	}

	@Override
	public void updateEntUserCertbyCertDN(EntUserCertEntity entUserCert) {
		entUserCertDao.updateEntUserCertbyCertDN(entUserCert);

	}

	@Override
	public EntUserCertEntity findUserCert(int businessenterprisetype1,
			String businessenterprisenum1, int cardtype, String cardnum) {
		return entUserCertDao.findUserCert(businessenterprisetype1,
				businessenterprisenum1, cardtype, cardnum);
	}

	@Override
	public EntUserCertEntity findEntUserCertByCertSN(String certsn) {
		return entUserCertDao.findEntUserCertByCertSN(certsn);
	}

	@Override
	public void updateEntUserCertbyId(EntUserCertEntity entUserCert) {
		entUserCertDao.updateEntUserCertbyId(entUserCert);
	}

	@Override
	public Pagination<EntUserCertEntity> queryUserCertUnCheckedByPager(
			Pagination<EntUserCertEntity> entUserCertList) {
		List<EntUserCertEntity> userCertList = entUserCertDao
				.queryUserCertUnCheckedByPager(entUserCertList);
		List<EntUserCertEntity> userCertListAll = entUserCertDao
				.queryUserCertUnChecked();
		entUserCertList.setItems(userCertList);
		entUserCertList.setCount(userCertListAll.size());
		return entUserCertList;
	}

	@Override
	public Pagination<EntUserCertEntity> queryEntUserCertByConditionsInPager(
			EntUserCertEntity entUserCertConmand,
			Pagination<EntUserCertEntity> entUserCertList) {
		String endTime = "";
		if (!"0".equals(entUserCertConmand.getCertEndTime())) {
			endTime = Util.getQueryEndTime(Integer.valueOf(entUserCertConmand
					.getCertEndTime()));
		}
		String beginTime = Util.getCurrentDate();
		List<EntUserCertEntity> userCertList = entUserCertDao
				.queryEntUserCertByConditionsInPager(entUserCertConmand,
						entUserCertList,endTime,
						beginTime);
		List<PerUserCertEntity> userCertListAll = entUserCertDao
				.queryEntUserCertByConditions(entUserCertConmand, endTime,
						beginTime);
		entUserCertList.setItems(userCertList);
		entUserCertList.setCount(userCertListAll.size());
		return entUserCertList;
	}

	@Override
	public EntUserCertEntity findEntUserCertById(Long id) {
		return entUserCertDao.findEntUserCertById(id);
	}

	@Override
	public void updateEntUserCertBaseInfo(EntUserCertEntity entUserCertCommand) {
		entUserCertDao.updateEntUserCertBaseInfo(entUserCertCommand);
		
	}

	@Override
	public Pagination<EntUserCertEntity> queryUserCertUnCheckedByPagerOracle(
			Pagination<EntUserCertEntity> entUserCertList) {
		List<EntUserCertEntity> userCertList = entUserCertDao
				.queryUserCertUnCheckedByPagerOracle(entUserCertList);
		List<EntUserCertEntity> userCertListAll = entUserCertDao
				.queryUserCertUnChecked();
		entUserCertList.setItems(userCertList);
		entUserCertList.setCount(userCertListAll.size());
		return entUserCertList;
	}

	@Override
	public Pagination<EntUserCertEntity> queryEntUserCertByConditionsInPagerOracle(
			EntUserCertEntity entUserCertConmand,
			Pagination<EntUserCertEntity> entUserCertList) {
		String endTime = "";
		if (!"0".equals(entUserCertConmand.getCertEndTime())) {
			endTime = Util.getQueryEndTime(Integer.valueOf(entUserCertConmand
					.getCertEndTime()));
		}
		String beginTime = Util.getCurrentDate();
		List<EntUserCertEntity> userCertList = entUserCertDao
				.queryEntUserCertByConditionsInPagerOracle(entUserCertConmand,
						entUserCertList,endTime,
						beginTime);
		List<PerUserCertEntity> userCertListAll = entUserCertDao
				.queryEntUserCertByConditions(entUserCertConmand, endTime,
						beginTime);
		entUserCertList.setItems(userCertList);
		entUserCertList.setCount(userCertListAll.size());
		return entUserCertList;
	}

	

}
